<?php namespace Common\Model;
use Hdphp\Model\Model;
class Login extends Model{
    //指定类型表
    protected $table='user';
    protected $auto = [
        ['upassword','md5','function',3,3]
    ];
    protected $validate=[
        //array(字段名，验证方法，错误信息，验证条件，验证事件）
        ['ucount','required','名称不能为空',1,3],
        ['upassword','required','密码名称不能为空',1,1],
        ['upassword','minlen:6','密码不得少于6位',1,1],
        ['confirm','_confirm','两次输入密码不一致',1,1],
        ['code','required','验证码必填',3,3],
        ['code','_code','验证码不正确',3,3],
        ['ucount','_username','用户名已存在',1,3],
        ['uname','_uname','用户或密码不正确',1,3]
    ];

    //注册是添加数据调用
    public function store(){
    	if(!$this->create()) return false; 
    	return $this->add();  		    	
    }
    //登录验证数据
    public function login(){
        $ucount=Q('post.uname');
        $data=$this->where("ucount='{$ucount}'")->get();
        if(!$this->create()) return false;
        $_SESSION['info']=[
         'username'=>$ucount,
         'uid'=>$data[0]['uid']
        ];
        $seven=Q('post.auto');
        //判断是否点击过七天免登录
        if(isset($seven)){
            setcookie(session_name(),session_id(),time()+3600*24*7,'/');
        }else{
            setcookie(session_name(),session_id(),0,'/');
        }
        return true;
    }
    //判断登录时用户名密码是否正确
    public function _uname(){
        $uname=Q('post.uname');
        $upsd=md5(Q('post.upsd'));
        $data=$this->where("ucount='{$uname}'")->pluck('upassword');
        if(!$data) return false;
        if($data !=$upsd) return false;
        return true;
    }
    //验证码验证方法
    public function _code(){
        $code=Q('post.code');
        if(strtolower($code)!=strtolower($_SESSION['code'])){
            return false;
        }
        return true;
    }
    //验证用户名方法
    public function _username(){
        $uname=Q('post.ucount');
        $data=$this->where("ucount={$uname}")->find();
        if($data){
            return false;
        }
        return true;
    }
    //验证两次密码是否一致
    public function _confirm(){
        $psd=Q('post.upassword');
        $confirm=Q('post.confirm');
        if($psd!=$confirm){
            return false;
        }
        return true;

    }
}